﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using BCEntity.Chats;

namespace BCData.Chats
{
    public interface IMessageReceiverData
    {
        Task<IEnumerable<MessageReceiverEntity>> GetMessageReceiversByMessageIdAsync(IEnumerable<long> messageIds);

        Task<MessageReceiverEntity> GetMessageReceiverAsync(string receiveUserId, long messageId);

        Task InsertAllAsync(IEnumerable<MessageReceiverEntity> entities);

        Task<MessageReceiverEntity> UpdateAsync(MessageReceiverEntity entity);

        Task SetAsDeleted(string receiveUserId, long messageId);

        Task UpdateReceiptTimeAsync(string receiveUserId, long messageId);

        Task UpdateAllReadTimeAsync(string receiveUserId, long threadId);

        Task UpdateAllReadTimeAsync(string receiveUserId, long threadId, long maxMessageId);

        Task UpdateReadTimeAsync(string receiveUserId, long threadId, long messageId);
    }
}
